An application container typically includes an entire runtime environment for an application. The runtime environment for an application generally includes the application and the dependencies of the application. For example, an application container typically includes libraries, binaries, and/or configuration files that are utilized to execute the application. Generally, an application container executes on a physical server or a virtual server. In some scenarios, an application container executes in a cloud computing environment (e.g., in a public cloud or a private cloud). Since an application container typically includes all the resources that the application needs, in some previously available systems, transactions between application containers are tightly controlled.
In some previously available systems, a centralized entity controls the transactions between the application containers. The centralized entity is usually referred to as a clearing house. In some previously available systems, when a first application container determines to initiate a transaction with a second application container, the first application container sends a transaction request to the clearing house. The clearing house determines whether the transaction between the first application container and the second application container is permitted. If the clearing house determines that the requested transaction between the first application container and the second application container is permitted, then the clearing house sends a message to the first application container indicating that the transaction has been approved. The first application container initiates the transaction upon receiving the message from the clearing house.
In some previously available systems, every transaction needs to be approved by the clearing house before the transaction can be completed. For example, if the first application container determines to perform a second transaction with the second application container, the first application container sends a second transaction request to the clearing house. In this example, the first application container performs the second transaction upon receiving a second message from the clearing house indicating that the second transaction has been cleared. In some previously available systems, the clearing house takes a significant amount of time to clear each transaction. Moreover, in some previously available systems, the clearing house charges a fee for clearing each transaction.
In accordance with common practice the various features illustrated in the drawings may not be drawn to scale. Accordingly, the dimensions of the various features may be arbitrarily expanded or reduced for clarity. In addition, some of the drawings may not depict all of the components of a given system, method or device. Finally, like reference numerals may be used to denote like features throughout the specification and figures.